Model Table WORK TASK ACTUALS COST

This model fact represents actuals in Work Order and is based on the IFS Applcations fact FACT_WO_TASK_ACTUALS_COST.

Note: Please refer to documentation of each model to find out about attributes used in referenced models.

Attributes

Attribute Description (where applicable)

Measures (table to be generated as far as possible)

Aggregation of measures is based on SUM if not explicitly noted.

This section describes the basic measures in the cube. These are either measures defined in the core Information Source, in the model itself or in the ETL process. The columns have the following meaning:

Measure Calculated Y/N Contains Time Intelligence Y/N Definition/Note (where applicable) Aggregation Type Hidden Y/N Tabular Expression
Actual Cost to Planning Estimate %NCALCULATE(DIVIDE([Cost Amount Actual],[Cost Amount Planned]),FILTER('WORK ORDER','WORK ORDER'[STATE_DB]="FINISHED"))
Actual Hours to Planning Estimate %NCALCULATE(DIVIDE([Total Hours Actual],[Total Hours Planned]),FILTER('WORK ORDER','WORK ORDER'[STATE_DB]="FINISHED"))
Condition-Based Maintenance Cost %NDIVIDE ( CALCULATE ( [Cost Amount Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ), FILTER ( 'WORK TASK', 'WORK TASK'[GENERATION_TYPE] = "3" ) ), [Cost Amount Actual] )
Condition-Based Maintenance Hours %NDIVIDE ( CALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ), FILTER ( 'WORK TASK', 'WORK TASK'[GENERATION_TYPE] = "3" ) ), [Total Hours Actual] )
Corrective Cost Amount ActualNYSUMNSUM([Corrective_Cost_Amount_Actual])
Corrective Cost Amount Actual RCYNSUMNSUM([REP_CURR_CORRECTIVE_COST_AMOUNT_ACTUAL])/[Currency Rate]
Corrective Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Corrective Cost Amount Actual]/[Cost Amount Actual], BLANK())
Corrective Hours ActualNYSUMNSUM([Corrective_Hours_Actual])
Corrective Hours Rate %YNNIF([Total Hours Actual]>0,[Corrective Hours Actual]/[Total Hours Actual], BLANK())
Corrective Maintenance Cost %NCALCULATE(DIVIDE(([Corrective Cost Amount Actual]+[Reactive Cost Amount Actual]),[Cost Amount Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Corrective Maintenance Hours %NCALCULATE(DIVIDE(([Corrective Hours Actual]+[Reactive Hours Actual]),[Total Hours Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Cost Amount ActualNYSUMNSUM([COST_AMOUNT])
Cost Amount Actual RCYNSUMNSUM([REP_CURR_AMOUNT_ACTUAL])/[Currency Rate]
Installation Cost Amount ActualNYSUMNSUM([Installation_Amount_Actual])
Installation Cost Amount Actual RCYNSUMNSUM([REP_CURR_INSTALLATION_AMOUNT_ACTUAL])/[Currency Rate]
Installation Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Installation Cost Amount Actual]/[Cost Amount Actual], BLANK())
Installation Hours ActualNYSUMNSUM([Installation_Hours_Actual])
Installation Hours Rate %YNNIF([Total Hours Actual]>0,[Installation Hours Actual]/[Total Hours Actual], BLANK())
Maintenance Material Cost %NCALCULATE(DIVIDE([Material Cost Amount Actual],[Cost Amount Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Material Cost Amount ActualNYSUMNSUM([Material_Cost_Amount_Actual])
Material Cost Amount Actual RCYNSUMNSUM([REP_CURR_MATERIAL_COST_AMOUNT_ACTUAL])/[Currency Rate]
Material Quantity ActualNNSUMNSUM([Material_Quantity_Actual])
Modification Cost Amount ActualNYSUMNSUM([Modification_Amount_Actual])
Modification Cost Amount Actual RCYNSUMNSUM([REP_CURR_MODIFICATION_AMOUNT_ACTUAL])/[Currency Rate]
Modification Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Modification Cost Amount Actual]/[Cost Amount Actual], BLANK())
Modification Hours ActualNYSUMNSUM([Modification_Hours_Actual])
Modification Hours Rate %YNNIF([Total Hours Actual]>0,[Modification Hours Actual]/[Total Hours Actual], BLANK())
Other Cost Amount ActualNYSUMNSUM([Other_Cost_Amount_Actual])
Other Cost Amount Actual RCYNSUMNSUM([REP_CURR_OTHER_COST_AMOUNT_ACTUAL])/[Currency Rate]
Other Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Other Cost Amount Actual]/[Cost Amount Actual], BLANK())
Other Hours ActualNYSUMNSUM([Other_Hours_Actual])
Other Hours Rate %YNNIF([Total Hours Actual]>0,[Other Hours Actual]/[Total Hours Actual], BLANK())
PM & PdM Corrective Hours ActualNCALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[SRC_WO_HAS_PM_TASK] = 1 || 'WORK TASK ACTUALS COST'[SRC_WO_HAS_PM_STEP] = 1 ) )
PM & PdM YieldNDIVIDE ( CALCULATE ( [PM & PdM Corrective Hours Actual], FILTER ( 'WORK ORDER', 'WORK ORDER'[STATE_DB] IN { "FINISHED", "REPORTED", "WORKDONE" } ) ), CALCULATE ( [PM Hours Actual], FILTER ( 'WORK ORDER', 'WORK ORDER'[STATE_DB] IN { "FINISHED", "REPORTED", "WORKDONE" } ) ) )
PM Cost Amount ActualNCALCULATE ( [Cost Amount Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ) )
PM Hours ActualNCALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Source_Connection_ID] = "PmAction" || 'WORK TASK ACTUALS COST'[HAS_PM_STEP] = 1 ) )
Planned Work %NDIVIDE ( CALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK', 'WORK TASK'[ROWSTATE_DB] = "FINISHED" ), FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[TASK_PLAN_LINE_SEQ] <> BLANK() ) ), CALCULATE ( [Total Hours Actual], FILTER ( 'WORK TASK', 'WORK TASK'[ROWSTATE_DB] = "FINISHED" ) ) )
Preventive Cost Amount ActualNYSUMNSUM([Preventive_Cost_Amount_Actual])
Preventive Cost Amount Actual RCYNSUMNSUM([REP_CURR_PREVENTIVE_COST_AMOUNT_ACTUAL])/[Currency Rate]
Preventive Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Preventive Cost Amount Actual]/[Cost Amount Actual], BLANK())
Preventive Hours ActualNYSUMNSUM([Preventive_Hours_Actual])
Preventive Hours Rate %YNNIF([Total Hours Actual]>0,[Preventive Hours Actual]/[Total Hours Actual], BLANK())
Preventive Maintenance Cost %NDIVIDE([PM Cost Amount Actual],[Cost Amount Actual])
Preventive Maintenance Hours %NDIVIDE([PM Hours Actual],[Total Hours Actual])
Proactive Work %NCALCULATE ( DIVIDE ( ( [Corrective Hours Actual] + [PM Hours Actual] ), [Total Hours Actual] ), FILTER ( 'WORK TASK ACTUALS COST', 'WORK TASK ACTUALS COST'[Dim_Work_Order_ID] <> BLANK () ) )
Project Cost Amount ActualNYSUMNSUM([Project_Cost_Amount_Actual])
Project Cost Amount Actual RCYNSUMNSUM([REP_CURR_PROJECT_COST_AMOUNT_ACTUAL])/[Currency Rate]
Project Cost Amount Rate %YNNIF([Cost Amount Actual]>0,[Project Cost Amount Actual]/[Cost Amount Actual], BLANK())
Project Hours ActualNYSUMNSUM([Project_Hours_Actual])
Project Hours Rate %YNNIF([Total Hours Actual]>0,[Project Hours Actual]/[Total Hours Actual], BLANK())
Qty ActualNNSUMNSUM([QTY])
Reactive Cost Amount ActualNSUM([Reactive_Cost_Amount_Actual])
Reactive Hours ActualNSUM([Reactive_Hours_Actual])
Reactive Work %NCALCULATE(DIVIDE([Reactive Hours Actual],[Total Hours Actual]),FILTER('WORK TASK ACTUALS COST','WORK TASK ACTUALS COST'[Dim_Work_Order_ID]<>BLANK()))
Service Cost Amount ActualNYSUMNSUM([Service_Cost_Amount_Actual])
Service Cost Amount Actual RCYNSUMNSUM([REP_CURR_SERVICE_COST_AMOUNT_ACTUAL])/[Currency Rate]
Service Cost Rate %YNNIF([Cost Amount Actual]>0,[Service Cost Amount Actual]/[Cost Amount Actual], BLANK())
Service Hours ActualNYSUMNSUM([Service_Hours_Actual])
Service Hours Rate %YNNIF([Total Hours Actual]>0,[Service Hours Actual]/[Total Hours Actual], BLANK())
Total Hours ActualNYSUMNSUM([Total_Hours_Actual])
WORK TASK ACTUALS COST CountNNCOUNTROWSNCOUNTROWS('WORK TASK ACTUALS COST')

Time Intelligence Measures

Time based measures are calculated in the cube with respect to other measures. The table below defines the meaning/definition of  the different time measures. These measures need to be used with a specific time dimension hierarchy [REPORTING_DATE].[RepDateMFHy].

Measure Meaning
YTD Aggregated value for current month in current  year. E.g. for period 202010 Ytd represents sum of periods 202000-202010.
R12 For a given period, the sum all months from one year back up to the previous month. E.g. Rolling 12 for 202010 is the sum of months 201910 - 202009
PY Previous Year
The value of the corresponding month one year back. E.g. for month 202010, the value of month 201910.
YTD PY Year to Date Previous Year
Aggregated value for corresponding month one year back. E.g. for month 202010 YTD Previous Year represents sum of months 201901-201910.
R12 PY Rolling 12 (completed) Months Previous Year
For a given month, first going one year back, then taking the sum of all months from one (more) year back up to the previous month. E.g. for month 202010 the sum of month 201810-201909
Avg XXX Ytd Sum XXX YTD/Count XXX YTD
Avg XXX R12 Sum XXX R12/Count XXX R12
XXX % YTD Count XXX YTD/Count YYY YTD
XXX % R12 Count XXX R12/Count XXX R12

USED BY MODEL(S)

Model Name Product Area
MaintenanceMaintenance

Data source Information

The data source for this object is defined using IFS Developer Tool. The data source contains a number of transformations where the model reads data from the last step, i.e. the Data source view name (DW Source View Name).

Additional information can be found in the online documentation of Information Sources.

Model Table DW Source view (SQL Server) BI Access View Referenced Information Source Recommended Access Type
WORK TASK ACTUALS COSTFACT_WORK_TASK_ACTUALS_COST_TMFACT_WORK_TASK_ACTUALS_COST_BIFACT_WORK_TASK_ACTUALS_COSTData Mart